<?php include_once $_SERVER["DOCUMENT_ROOT"] . '/JuventudeSlz/modelo/bean/Jovem.php'; ?>
<?php include_once $_SERVER["DOCUMENT_ROOT"] . '/JuventudeSlz/modelo/dao/JovemDAO.php'; ?>
<?php include_once $_SERVER["DOCUMENT_ROOT"] . '/JuventudeSlz/controller/AbstractController.php'; ?>
<?php include_once $_SERVER['DOCUMENT_ROOT'] . '/JuventudeSlz/utils/System.php'; ?>
<?php include_once $_SERVER['DOCUMENT_ROOT'] . '/JuventudeSlz/utils/Niveis.php'; ?>
<?php

/**
 * Description of ControleParticipante
 *
 * @author JoasRamos
 */
class ControleParticipante extends AbstractController {

    private $dao, $bean;

    public function __construct($action) {
        $this->dao = new JovemDAO();
        $this->bean = new Jovem();
        parent::__construct($action);
    }

    public function create() {
        session_start();
        if(isset($_SESSION["participante"])){
            
//        }
        
//        if (count($_POST > 0)) {
            //carregar objeto
            $bean = $this->carregarParticipante();

            //create
            if ($this->dao->insert($bean, array(
                        $bean->getNome(), $bean->getNomeCracha(), $bean->getRg(), $bean->getNascimento(),
                        $bean->getSexo(), $bean->getEndereco(), $bean->getCep(), $bean->getBairro(), $bean->getCidade(),
                        $bean->getHasAlimentacao(), $bean->getHasBarraca(), $bean->getHasTransporte(),
                        $bean->getDoEucaristia(), $bean->getHasEucaristia(), $bean->getDoSeminario(),
                        $bean->getDoAprofundamento(), $bean->getAlergiaMedicamento(), $bean->getAlergiaAlimento(),
                        $bean->getEmail(), $bean->getTelefone(), $bean->getNomeResp1(), $bean->getTelResp1(),
                        $bean->getNomeResp2(), $bean->getTelResp2(),
                        $bean->getIsParticipante(), $bean->getIsServico(), $bean->getServico()))) {
                System::showViewParameter("../view/create_sucess", array("id"), array(md5($bean->getRg())));
            } else {
                System::showViewParameter("../view/erro_page", array("erro_desc"), array("no-insert-item"));
            }
        } else {
            System::showViewParameter("../view/erro_page", array("erro_desc"), array("no-permited"));
        }
    }

    private function carregarParticipante() {
        $p = $_SESSION['participante'];
        //
        $participante = $this->bean;
        //ajustes necessários
        $data = $p['inNascimento'];//$_POST["inNascimento"];
        $data_format = date("Y-m-d", strtotime($data));
        $ocupacao = $p["ocupacao"];
        $eucaristia = $p["eucaristia"];
        $do_eucaristia = $p["do_eucaristia"];
        $alimentacao = $p["alimentacao_propria"];
        $barraca = $p["barraca_propria"];
        $trans = $p["transporte_proprio"];
        $alergia_m = $p["alergia_medicamentos"];
        $alergia_a = $p["alergia_alimentos"];


        if ($ocupacao == '1') {
            $participante->setDoSeminario(1);
            $participante->setDoAprofundamento(0);
        } else {
            $participante->setDoSeminario(0);
            $participante->setDoAprofundamento(1);
        }

        if ($eucaristia == '1') {
            $participante->setHasEucaristia(1);
            $participante->setDoEucaristia(0);
        } else {
            $participante->setHasEucaristia(0);
            if ($do_eucaristia == '1')
                $participante->setDoEucaristia(1);
            else
                $participante->setDoEucaristia(0);
        }

        if ($alimentacao == '1')
            $participante->setHasAlimentacao(0);
        else
            $participante->setHasAlimentacao(1);

        if ($barraca == '1')
            $participante->setHasBarraca(1);
        else
            $participante->setHasBarraca(0);

        if ($trans == '1')
            $participante->setHasTransporte(0);
        else
            $participante->setHasTransporte(1);

        if ($alergia_a == '1')
            $participante->setAlergiaAlimento($p["info_alergia_ali"]);
        else
            $participante->setAlergiaAlimento("");

        if ($alergia_m == '1')
            $participante->setAlergiaMedicamento($p["info_alergia_med"]);
        else
            $participante->setAlergiaMedicamento("");

        //Carrega Jovem
        $participante->setNome($p["inNome"]);
        $participante->setNomeCracha($p["inCracha"]);
        $participante->setNascimento($data_format);
        $participante->setRg($p["inRg"]);
        $participante->setSexo($p["inSexo"]);
        $participante->setEndereco($p["inEnd"]);
        $participante->setCep($p["inCep"]);
        $participante->setBairro($p["inBairro"]);
        $participante->setCidade($p["inCidade"]);
        $participante->setEmail($p["inEmail"]);
        $participante->setTelefone($p["inTel"]);
        $participante->setNomeResp1($p["inNomeRes1"]);
        $participante->setTelResp1($p["inTelRes1"]);
        $participante->setNomeResp2($p["inNomeRes2"]);
        $participante->setTelResp2($p["inTelRes2"]);
        $participante->setIsParticipante(1);
        $participante->setIsServico(0);
        $participante->setServico("");

        unset($_SESSION['participante']);
        
        return $participante;
    }

    public function delete() {
        if (isset($_GET['id'])) {
            $id = $_GET['id'];
            if ($this->dao->delete($this->bean, $id)) {
                System::showSimpleView('../view/painel_admin');
            } else {
                System::showViewParameter("../view/erro_page", array("erro_desc"), array("no-delete-item"));
            }
        } else {
            System::showViewParameter("../view/erro_page", array("erro_desc"), array("no-permited"));
        }
    }

    public function personalizeAction($action) {
        
    }

    public function retrieve($id) {
        $bean = new Jovem();
        $bean = $this->dao->findById($id);
        if (!$bean)
            return false;

        return $bean;
    }

    public function buscarParticipante($id) {
        return $this->dao->findById($id);
    }

    public function listParticipante($rg){
        return $this->dao->findAllParticipantes($rg);
    }
}

if (isset($_REQUEST["code_action"])) {
    new ControleParticipante($_REQUEST["code_action"]);
}
?>
